IPv6 (IP version 6) has been presented as main enabling technology for providing IP based inter-operator services. Ipv6 is the universal solution for that, but in short term also IPv4 (IP version 4) solutions may be needed. In case IPv4 is used, the problem is that when using SIP (Session Initiation Protocol), NATs (Network Address Translators) are required and they cause serious problems for services like PoC using UDP (User Datagram Protocol) data streams for media.
FIG. 6 shows a typical IPv4 networks arrangement. A server in an operator's network is given an IPv4 address from an operator's public address space. For example, a server in a first operator's network is given a public IPv4 address 3, and a server in a second operator's network is given a public IPv4 address 4. Clients, e.g. mobiles, are assigned dynamic private IPv4 addresses as shown in FIG. 6. Thus, the clients are able to contact any server in their own network and in other networks having a server with a public IPv4 address and servers with public IPv4 addresses can contact each other unless restricted by firewalls.
However, since an NAT is required for translating the public address space into the private address space and vice versa, no inter-operator direct mobile-to-mobile IP connections are possible. In addition, the server cannot send any data to the clients, because the IP addresses reported in the SIP messages are from an unroutable address space.
FIG. 7 illustrates the operation of an NAT. For HTTP (HyperText Transfer Protocol) traffic all computers send traffic to a public IPv4 address 3 and a TCP (Transport Control Protocol) port number 80, for example. For the source ports an NAT in a router with a public IPv4 address 1 receiving traffic from the HTTP server assigns new random port numbers and keeps also a mapping table on the assigned IP address/port relationships. In this way, a big number of users can use the same public IP address.
In case TCP is used there are sessions which are always opened and closed. Thus, the NAT knows that when the TCP session is closed the public port number does not have to be reserved anymore and can be assigned to a new private IP address user. However, with UDP there are no sessions. As a result, in the NATs there is typically an inactivity timer, and if a public UDP port has not been used during the length of this time, e.g. 40 seconds, the port will be assigned to a new user. Therefore, there is a problem with NATs for services using UDP data streams for media.
It is known that IPv6 makes obsolete NATs and problems related to them. It is also known to have application level intelligence on NATs. However, this might handle part of the problems caused by NATs, but not all of them. More information thereon can be found in J. Rosenberg et al.: “NAT and Firewall Scenarios and Solutions for SIP”, Internet Engineering Task Force, Internet Draft (work in progress), June 2002.